#include <stddef.h>
#include "string.h"

#include "libavutil/log.h"
#include "libavformat/avformat.h"

int main(int argc, char **argv) {
    av_log_set_level(AV_LOG_DEBUG);
//    av_log(NULL, AV_LOG_ERROR, "这是一个");
//    av_log(NULL, AV_LOG_INFO, "这是一个");
//    av_log(NULL, AV_LOG_WARNING, "这是一个");
//    av_log(NULL, AV_LOG_DEBUG, "这是一个");
    if (argc < 2) {
        av_log(NULL, AV_LOG_ERROR, "使用: %s infileName", argv[0]);
        return -1;
    }
    const char *infileName = argv[1];

    AVFormatContext *avFormatContext = NULL;
    int ret =
            avformat_open_input(
            &avFormatContext,
            infileName,
            NULL,
            NULL
    );

    if (ret != 0) {
        av_log(NULL, AV_LOG_ERROR, "open input file:%s failed: %s\n", infileName, av_err2str(ret));
        return -1;
    }

    av_dump_format(avFormatContext, 0, infileName, 0);
    avformat_close_input(&avFormatContext);
    return 0;
}
